# demo08_return.py
def atm():
    num = input('请输入取款金额：')
    # return 用于返回函数调用后的结果；结束函数的调用
    # 函数体中如果不加return返回的结果是None
    return num
    print('取款成功~您本次的取款金额：', num)
# 将函数的调用结果保存到变量
# bag = atm()
# print('钱包中有：', bag)

# 练习：创建函数fibonacci，传递任意一个数字，最后返回斐波那契数列前n的值
def fibonacci(n):
    # 定义列表，保存数列
    fib = [0, 1]
    for i in range(n-2):
        fib.append(fib[-1]+fib[-2])
    return fib

# result = fibonacci(10)
# print(result)

# 编写函数，传递一个列表，返回列表中的最大值。
def find_max(nums):
    # 定义变量用于保存最大值，初始值设置为0
    max = 0
    # 循环列表
    for item in nums:
        # item每一个元素
        # 判断每个元素是否比max大，如果大则用当前的值覆盖max中的值
        if item > max:
            max = item
    # 返回查找到的最大值
    return max

# result = find_max([23, 9, 78, 6, 45])
# print(result)
# 练习：过滤列表中的偶数
# 创建函数filter_even，传递一个列表，返回一个新的列表，包含所有的偶数
def filter_even(nums):
    new_nums = []
    # 遍历传递的列表
    for item in nums:
        # 判断每个元素是否为偶数
        if item%2 == 0:
            new_nums.append(item) # 将找到的偶数添加到列表
    # 当循环结束后，返回新的列表
    return new_nums

# result = filter_even([2, 5, 8, 9, 13, 18])
# print(result)
# 练习：编写一个函数，判断一个整数是否为素数，结果是布尔型的值
# 素数：在1以上的整数中，除了1和自身以外，不能被其它数字整除。
# 2   3   4    5    6
# 是  是  不是  是   不是

def is_prime(n):
    # 如果是1以下，排除不是素数
    if n <= 1:
        return False
    # 循环获取2~n-1之间，判断是否能被n整除
    for i in range(2, n):
        # 如果中间有能被n整除的数字，说明不是素数
        if n%i == 0:
            return False
    # 循环结束，如果中间没有能被整除的数字，说明是素数
    return True
result = is_prime(0)
print(result)

print('137是否为素数：', is_prime(137))



